﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DoNet.WechatPay.V2.Entitys.Requests
{
    public class UnifiedOrderRequest : RequestBase
    {
        /// <summary>
        /// 商户订单号
        /// 是
        /// </summary>
        public string out_trade_no { set; get; } = string.Empty;
        /// <summary>
        /// 商品描述
        /// 是
        /// </summary>
        public string body { set; get; } = string.Empty;
        /// <summary>
        /// 设备号
        /// 否
        /// </summary>
        public string device_info { set; get; } = string.Empty;
        /// <summary>
        /// 商品详情
        /// 否
        /// </summary>
        public string detail { set; get; } = string.Empty;
        /// <summary>
        /// 附加数据
        /// 否
        /// </summary>
        public string attach { set; get; } = string.Empty;
        /// <summary>
        /// 货币类型
        /// 否
        /// </summary>
        public string fee_type { set; get; } = string.Empty;
        /// <summary>
        /// 总金额
        /// 是
        /// </summary>
        public long total_fee { set; get; }
        /// <summary>
        /// 终端IP
        /// 是
        /// </summary>
        public string spbill_create_ip { set; get; } = string.Empty;
        /// <summary>
        /// 交易起始时间
        /// 否
        /// </summary>
        public string time_start { set; get; } = string.Empty;
        /// <summary>
        /// 交易结束时间
        /// 否
        /// </summary>
        public string time_expire { set; get; } = string.Empty;
        /// <summary>
        /// 订单优惠标记
        /// 否
        /// </summary>
        public string goods_tag { set; get; } = string.Empty;
        /// <summary>
        /// 通知地址
        /// 是
        /// </summary>
        public string notify_url { set; get; } = string.Empty;
        /// <summary>
        /// 交易类型 
        /// 是
        /// JSAPI 公众号支付
        /// NATIVE Native支付
        /// APP APP支付
        /// MWEB H5支付
        /// MICROPAY 扫码支付
        /// </summary>
        public string trade_type { set; get; } = string.Empty;
        /// <summary>
        /// 商品ID
        /// 否
        /// </summary>
        public string product_id { set; get; } = string.Empty;
        /// <summary>
        /// 指定支付方式
        /// 否
        /// </summary>
        public string limit_pay { set; get; } = string.Empty;
        /// <summary>
        /// 用户标识
        /// 否
        /// </summary>
        public string openid { set; get; } = string.Empty;
        /// <summary>
        /// 用户子标识
        /// 否
        /// </summary>
        public string sub_openid { set; get; } = string.Empty;
        /// <summary>
        /// 电子发票入口开放标识
        /// 否
        /// </summary>
        public string receipt { set; get; } = string.Empty;
        /// <summary>
        /// 是否需要分账
        /// 否
        /// </summary>
        public string profit_sharing { set; get; } = string.Empty;
        /// <summary>
        /// 场景信息
        /// 否
        /// </summary>
        public string scene_info { set; get; } = string.Empty;
        /// <summary>
        /// 付款码 
        /// 否
        /// </summary>
        public string auth_code { set; get; } = string.Empty;
    }
}
